From: Konstantin Demin Date: Thu, 4 Sep 2025 12:36:56 +0000 (+0300) Subject: base-files: split /etc/profile X-Git-Url: http://git.openwrt.org/%22https:/collectd.org//%22/%22https:/collectd.org/%22?a=commitdiff_plain;h=eb71d1000968ff45f6ed5aeda87a86548eb0685a;p=openwrt%2Fopenwrt.git base-files: split /etc/profile - move extra parts to /etc/profile.d/* - improve syntax and messages Signed-off-by: Konstantin Demin Link: https://github.com/openwrt/openwrt/pull/19953 Signed-off-by: Robert Marko --- diff --git a/package/base-files/files/etc/profile b/package/base-files/files/etc/profile index f9acdb439f..9ce59c87e9 100644 --- a/package/base-files/files/etc/profile +++ b/package/base-files/files/etc/profile @@ -1,61 +1,38 @@ +unset FAILSAFE [ -e /tmp/.failsafe ] && export FAILSAFE=1 [ -f /etc/banner ] && cat /etc/banner -[ -n "$FAILSAFE" ] && cat /etc/banner.failsafe +[ -n "$FAILSAFE" ] && [ -f /etc/banner.failsafe ] && cat /etc/banner.failsafe -grep -Fsq '/ overlay ro,' /proc/mounts && { - echo 'Your JFFS2-partition seems full and overlayfs is mounted read-only.' - echo 'Please try to remove files from /overlay/upper/... and reboot!' -} +if grep -Fsq '/ overlay ro,' /proc/mounts ; then +cat << EOF + + === WARNING! ====================================== + Your JFFS2-partition seems full and overlayfs is + mounted as READ-ONLY! + Please try to remove files from /overlay/upper/... + and reboot! + --------------------------------------------------- + +EOF +fi export PATH="%PATH%" -export HOME=$(grep -e "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6) -export HOME=${HOME:-/root} +HOME=$(grep -E "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6) +HOME=${HOME:-/root} +export HOME export PS1='\u@\h:\w\$ ' export ENV=/etc/shinit case "$TERM" in xterm*|rxvt*) - export PS1='\[\e]0;\u@\h: \w\a\]'$PS1 - ;; + export PS1='\[\e]0;\u@\h: \w\a\]'"$PS1" + ;; esac -[ -n "$FAILSAFE" ] || { - for FILE in /etc/profile.d/*.sh; do - [ -e "$FILE" ] && . "$FILE" +if [ -z "$FAILSAFE" ] ; then + for FILE in /etc/profile.d/*.sh ; do + [ -f "$FILE" ] && . "$FILE" done unset FILE -} - -if ( grep -qs '^root::' /etc/shadow && \ - [ -z "$FAILSAFE" ] ) -then -cat << EOF -=== WARNING! ===================================== -There is no root password defined on this device! -Use the "passwd" command to set up a new password -in order to prevent unauthorized SSH logins. --------------------------------------------------- -EOF -fi - -if [ -x /usr/bin/apk ]; then -cat << EOF - - OpenWrt recently switched to the "apk" package manager! - - OPKG Command APK Equivalent Description - ------------------------------------------------------------------ - opkg install apk add Install a package - opkg remove apk del Remove a package - opkg upgrade apk upgrade Upgrade all packages - opkg files apk info -L List package contents - opkg list-installed apk info List installed packages - opkg update apk update Update package lists - opkg search apk search Search for packages - ------------------------------------------------------------------ - -For more https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet - -EOF fi diff --git a/package/base-files/files/etc/profile.d/00-passwordless-root.sh b/package/base-files/files/etc/profile.d/00-passwordless-root.sh new file mode 100644 index 0000000000..fe98045e07 --- /dev/null +++ b/package/base-files/files/etc/profile.d/00-passwordless-root.sh @@ -0,0 +1,11 @@ +if grep -Esq '^root::' /etc/shadow ; then +cat << EOF + + === WARNING! ===================================== + There is no root password defined on this device! + Use the "passwd" command to set up a new password + in order to prevent unauthorized SSH logins. + -------------------------------------------------- + +EOF +fi diff --git a/package/base-files/files/etc/profile.d/apk-cheatsheet.sh b/package/base-files/files/etc/profile.d/apk-cheatsheet.sh new file mode 100644 index 0000000000..4193367a1c --- /dev/null +++ b/package/base-files/files/etc/profile.d/apk-cheatsheet.sh @@ -0,0 +1,21 @@ +if [ -x /usr/bin/apk ] ; then +cat << EOF + + OpenWrt recently switched to the "apk" package manager! + + OPKG Command APK Equivalent Description + ------------------------------------------------------------------ + opkg install apk add Install a package + opkg remove apk del Remove a package + opkg upgrade apk upgrade Upgrade all packages + opkg files apk info -L List package contents + opkg list-installed apk info List installed packages + opkg update apk update Update package lists + opkg search apk search Search for packages + ------------------------------------------------------------------ + +For more information visit: +https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet + +EOF +fi